package org.jeecgframework.web.system.pojo.base;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.annotations.GenericGenerator;
import org.jeecgframework.poi.excel.annotation.Excel;

/**   
 * @Title: Entity
 * @Description: 巡检设备变更
 * @author onlineGenerator
 * @date 2016-04-21 16:29:07
 * @version V1.0   
 *
 */
@Entity
@Table(name = "zy_equipment_change", schema = "")
@SuppressWarnings("serial")
public class ZyEquipmentChangeEntity implements java.io.Serializable {
	/**主键*/
	private java.lang.String id;
	/**巡检设备变更申请ID*/
	@Excel(name="巡检设备变更申请ID")
	private java.lang.String changeId;
	/**巡检计划ID*/
	@Excel(name="巡检计划ID")
	private java.lang.String planId;
	/**巡检单位*/
	private java.lang.String inspectionCompany;
	/**设备SN*/
	@Excel(name="设备SN")
	private java.lang.String equipmentSpareSn;
	/**影院名称*/
	@Excel(name="影院名称")
	private ZyCinemaEntity zyCinema;
	/**变更类型*/
	@Excel(name="变更类型")
	private java.lang.String changeType;
	/**申请原因类型*/
	@Excel(name="申请原因类型")
	private java.lang.String reqReasonType;
	/**申请其他原因*/
	@Excel(name="申请其他原因")
	private java.lang.String reqOtherReason;
	/**申请时间*/
	@Excel(name="申请时间")
	private java.util.Date requestTime;
	/**审批时间*/
	@Excel(name="审批时间")
	private java.util.Date approvalTime;
	/**审批状态*/
	@Excel(name="审批状态")
	private java.lang.String approvalState;
	/**审批说明*/
	@Excel(name="审批说明")
	private java.lang.String approvalRemark;
	/**流程实例ID**/
	private String processInstanceId;
	/**创建人名称*/
	@Excel(name="创建人名称")
	private java.lang.String createName;
	/**创建人登录名*/
	@Excel(name="创建人登录名")
	private java.lang.String createBy;
	/**创建日期*/
	@Excel(name="创建日期")
	private java.util.Date createDate;
	/**更新人名称*/
	@Excel(name="更新人名称")
	private java.lang.String updateName;
	/**更新人登录名*/
	@Excel(name="更新人登录名")
	private java.lang.String updateBy;
	/**更新人日期*/
	@Excel(name="更新人日期")
	private java.util.Date updateDate;
	
	
	
	/**变更原因 */
	private String reqReasonVal;
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  主键
	 */
	@Id
	@GeneratedValue(generator = "paymentableGenerator")
	@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
	@Column(name ="ID",nullable=false,length=36)
	public java.lang.String getId(){
		return this.id;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  主键
	 */
	public void setId(java.lang.String id){
		this.id = id;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  巡检设备变更申请ID
	 */
	@Column(name ="CHANGE_ID",nullable=true,length=50)
	public java.lang.String getChangeId(){
		return this.changeId;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  巡检设备变更申请ID
	 */
	public void setChangeId(java.lang.String changeId){
		this.changeId = changeId;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  巡检计划ID
	 */
	@Column(name ="PLAN_ID",nullable=true,length=36)
	public java.lang.String getPlanId(){
		return this.planId;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  巡检计划ID
	 */
	public void setPlanId(java.lang.String planId){
		this.planId = planId;
	}
	
	/**
	 * 巡检单位
	 */
	@Column(name ="inspection_company",nullable=true,length=36)
	public java.lang.String getInspectionCompany() {
		return inspectionCompany;
	}

	public void setInspectionCompany(java.lang.String inspectionCompany) {
		this.inspectionCompany = inspectionCompany;
	}

	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  设备SN
	 */
	@Column(name ="EQUIPMENT_SPARE_SN",nullable=true,length=36)
	public java.lang.String getEquipmentSpareSn(){
		return this.equipmentSpareSn;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  设备SN
	 */
	public void setEquipmentSpareSn(java.lang.String equipmentSpareSn){
		this.equipmentSpareSn = equipmentSpareSn;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  影院ID
	 */
	@ManyToOne(cascade=CascadeType.DETACH,fetch=FetchType.EAGER)
    @JoinColumn(name="CINEMA_ID")
	public ZyCinemaEntity getZyCinema(){
		return this.zyCinema;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  影院ID
	 */
	public void setZyCinema(ZyCinemaEntity zyCinema){
		this.zyCinema = zyCinema;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  变更类型
	 */
	@Column(name ="CHANGE_TYPE",nullable=true,length=50)
	public java.lang.String getChangeType(){
		return this.changeType;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  变更类型
	 */
	public void setChangeType(java.lang.String changeType){
		this.changeType = changeType;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  申请原因类型
	 */
	@Column(name ="REQ_REASON_TYPE",nullable=true,length=50)
	public java.lang.String getReqReasonType(){
		return this.reqReasonType;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  申请原因类型
	 */
	public void setReqReasonType(java.lang.String reqReasonType){
		this.reqReasonType = reqReasonType;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  申请其他原因
	 */
	@Column(name ="REQ_OTHER_REASON",nullable=true,length=500)
	public java.lang.String getReqOtherReason(){
		return this.reqOtherReason;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  申请其他原因
	 */
	public void setReqOtherReason(java.lang.String reqOtherReason){
		this.reqOtherReason = reqOtherReason;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  申请时间
	 */
	@Column(name ="REQUEST_TIME",nullable=true)
	public java.util.Date getRequestTime(){
		return this.requestTime;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  申请时间
	 */
	public void setRequestTime(java.util.Date requestTime){
		this.requestTime = requestTime;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  审批时间
	 */
	@Column(name ="APPROVAL_TIME",nullable=true)
	public java.util.Date getApprovalTime(){
		return this.approvalTime;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  审批时间
	 */
	public void setApprovalTime(java.util.Date approvalTime){
		this.approvalTime = approvalTime;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  审批状态
	 */
	@Column(name ="APPROVAL_STATE",nullable=true,length=50)
	public java.lang.String getApprovalState(){
		return this.approvalState;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  审批状态
	 */
	public void setApprovalState(java.lang.String approvalState){
		this.approvalState = approvalState;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  审批说明
	 */
	@Column(name ="APPROVAL_REMARK",nullable=true,length=500)
	public java.lang.String getApprovalRemark(){
		return this.approvalRemark;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  审批说明
	 */
	public void setApprovalRemark(java.lang.String approvalRemark){
		this.approvalRemark = approvalRemark;
	}
	
	/**
	 * 流程实例ID
	 */
	@Column(name ="process_instance_id",nullable=true,length=500)
	public String getProcessInstanceId() {
		return processInstanceId;
	}
	
	/**
	 * 流程实例ID
	 */
	public void setProcessInstanceId(String processInstanceId) {
		this.processInstanceId = processInstanceId;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  创建人名称
	 */
	@Column(name ="CREATE_NAME",nullable=true,length=50)
	public java.lang.String getCreateName(){
		return this.createName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  创建人名称
	 */
	public void setCreateName(java.lang.String createName){
		this.createName = createName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  创建人登录名
	 */
	@Column(name ="CREATE_BY",nullable=true,length=50)
	public java.lang.String getCreateBy(){
		return this.createBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  创建人登录名
	 */
	public void setCreateBy(java.lang.String createBy){
		this.createBy = createBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  创建日期
	 */
	@Column(name ="CREATE_DATE",nullable=true,length=20)
	public java.util.Date getCreateDate(){
		return this.createDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  创建日期
	 */
	public void setCreateDate(java.util.Date createDate){
		this.createDate = createDate;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  更新人名称
	 */
	@Column(name ="UPDATE_NAME",nullable=true,length=50)
	public java.lang.String getUpdateName(){
		return this.updateName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  更新人名称
	 */
	public void setUpdateName(java.lang.String updateName){
		this.updateName = updateName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  更新人登录名
	 */
	@Column(name ="UPDATE_BY",nullable=true,length=50)
	public java.lang.String getUpdateBy(){
		return this.updateBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  更新人登录名
	 */
	public void setUpdateBy(java.lang.String updateBy){
		this.updateBy = updateBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  更新人日期
	 */
	@Column(name ="UPDATE_DATE",nullable=true,length=20)
	public java.util.Date getUpdateDate(){
		return this.updateDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  更新人日期
	 */
	public void setUpdateDate(java.util.Date updateDate){
		this.updateDate = updateDate;
	}
	
	
	
	
	
	
	@Transient
	public String getReqReasonVal() {
		return reqReasonVal;
	}

	public void setReqReasonVal(String reqReasonVal) {
		this.reqReasonVal = reqReasonVal;
	}

	
	
}
